

def verify_mulu(mulu_list):
    '''
    可疑数据将会被标记为False
    :param mulu_list:
    :return:
    '''

    err_msg_list = []

    for idx, mulu in enumerate(mulu_list):
        row = idx+1
        # 单行目录结尾出现了话没说完的情况 --------------------------------------
        if mulu.endswith(('的', )):
            if mulu.endswith(('目的', )):
                continue
            else:
                err_msg_list.append([row, '单行目录结尾出现了话没说完的情况'])
        # -----------------------------------------------------------------

        # 结尾出现查看更多 -----------------------------------------
        if row == len(mulu_list):
            if mulu.endswith(("查看更多", )):
                err_msg_list.append([row, '目录结尾出现“查看更多”'])
        # -------------------------------------------------------

        # 目录只有一行 ------------------------------------------------------------
        if len(mulu_list) == 1:
            err_msg_list.append([row, '目录拆分结果只有一行，当前拆分规则未能识别此目录'])
        # -----------------------------------------------------------------------

    return "\n".join(["行数： {}， 描述： {}".format(err_msg[0], err_msg[1]) for err_msg in err_msg_list])


if __name__ == '__main__':
    mulu_list = ['第一章建筑工程资料管理概述', '    第一节建筑工程资料的基本知识', '    第二节建筑工程资料管理的意义与职责', '    第三节工程文件的归档要求', '    第四节工程文件的组卷',
                 '    第五节建筑工程档案的验收与移交', '第二章工程准备阶段资料', '    第一节工程准备阶段资料管理', '    第二节决策立项阶段文件', '    第三节建设用地、征地、拆迁文件',
                 '    第四节勘察、测绘、设计文件', '    第五节招投标文件', '    第六节开工审批文件', '    第七节工程质量监督手续', '    第八节财务文件',
                 '    第九节工程竣工验收文件', '第三章监理资料', '    第一节监理单位文件资料管理流程', '    第二节监理管理资料', '    第三节进度控制资料', '    第四节质量控制资料',
                 '    第五节造价控制资料', '    第六节分包资质资料', '    第七节合同管理资料', '第四章施工资料', '    第一节施工资料管理流程', '    第二节施工管理资料',
                 '    第三节质量控制管理资料', '    第四节工程施工质量验收资料', '    第五节建筑与结构工程安全和功能检验资料', '第五章竣工图、竣工验收及备案资料',
                 '第六章建筑工程资料管理软件及应用附录参考文献...查看更多']


    mulu_list = verify_mulu(mulu_list)

    print(mulu_list)